/*
 * @Author: qiulin 1746365080@qq.com
 * @Date: 2024-11-03 22:51:34
 * @LastEditors: qiulin 1746365080@qq.com
 * @LastEditTime: 2024-11-06 13:46:46
 * @FilePath: /SGSim/DataStructure/Input/Load/CONVData.h
 */
#pragma once
#include <math.h>

#include <set>

#include "DataStructure/Common/Constant.h"
#include "DataStructure/Common/DataStructureNamespace.h"
#include "DataStructure/Common/Real.h"
#include "DataStructure/Common/SGObject.h"
#include "DataStructure/Input/Load/LoadTypes.h"

SG_DATASTRUCTURE_FEM_NAMESPACE_OPEN
///< @brief 指定一个自由对流边界条件，用于通过连接到表面进行传热分析元素。
struct DECLSPEC CONVData : public SGObject
{
    SG::DataStructure::Common::I64  m_PCONID   = 0;                                                   ///< 对流ID
    SG::DataStructure::Common::I64  m_FLMND    = 0;                                                   ///< 流动节点ID
    SG::DataStructure::Common::I64  m_CNTRLND  = 0;                                                   ///< 控制节点ID
    SG::DataStructure::Common::I64  m_TA[8]    = { 0 };                                               ///< 用于对流的环境点
    SG::DataStructure::Common::Real m_WT[8]    = { -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 };  ///< 环境点的加权因子
    SG::DataStructure::Common::Id   m_domainId = 0;                                                   ///<
    static SG::DataStructure::FEM::LoadType GetType ()
    {
        return SG::DataStructure::FEM::LoadType::LOAD_CONV;
    };
};

///< @brief 重载==
DECLSPEC bool operator== (const CONVData& val1, const CONVData& val2);

SG_DATASTRUCTURE_FEM_NAMESPACE_CLOSE